package com.lius.SpringBootStart.controllers;

import com.lius.SpringBootStart.domain.User;
import com.lius.SpringBootStart.service.UserService;
import com.lius.SpringBootStart.utils.JsonData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/v1/pub/user")
public class UserController {

    //    @PostMapping("login")
//    public JsonData login(String pwd, String account){
//        // 这样的接受参数方式非常不便利，如果参数很多的话需要写一长串
//        System.out.println("account=" + account);
//        System.out.println("pwd=" + pwd);
//        return JsonData.buildSuccess("account=" + account + "/pwd=" + pwd);
//    }
    @Autowired
    private UserService userService;

    /**
     * 登录接口
     *
     * @param user
     * @return
     */
    @PostMapping("login")
    public JsonData login(@RequestBody User user) {
        // 推荐使用这样的方式
        String token = this.userService.login(user.getAccount(), user.getPasswd());
        return token == null ? JsonData.buildError("用户名或密码错误，登录失败", -1) : JsonData.buildSuccess(token);
    }

    @GetMapping("user_list")
    public JsonData userList() {
        return JsonData.buildSuccess(userService.getUser());
    }
}
